package com.example.gss.mapper;

import com.example.gss.entity.Student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface StudentMapper {
    /**
     * 根据ID查询学生
     */
    Student selectById(String studentId);

    /**
     * 查询所有学生
     */
    List<Student> selectAll();

    /**
     * 插入学生
     */
    int insert(Student student);

    /**
     * 更新学生
     */
    int update(Student student);

    /**
     * 删除学生
     */
    int delete(String studentId);

    /**
     * 根据姓名查询学生
     */
    List<Student> selectByName(@Param("name") String name);

    /**
     * 根据年级查询学生
     */
    List<Student> selectByGrade(@Param("grade") String grade);

    /**
     * 根据导师ID查询学生
     */
    List<Student> selectByTutorId(@Param("tutorId") String tutorId);



    /**
     * 查询所有未休学的学生
     */
    List<Student> selectActiveStudents();
    
    /**
     * 根据学号和密码查询学生
     */
    Student selectByStudentIdAndPassword(@Param("studentId") String studentId, @Param("password") String password);
   }